Hi, there!
For something like 18 months now I've been developing the Airio server tracker and newly also the Aonio client tracer. In the apps I'm using just about EVERY single piece of InSim/OutGauge info available through custom created complete .NET library. While working this extensively with the available data I found a few things that would be worth an update in some future LFS version/patch, even one obvious bug.
Note that the following info/requests are NOT for some InSim application, but they come from an InSim developer to LFS developers. Please use this thread only to add serious InSim update requests, once you fully studied the currently available information. Thanks! And now to the individual issues, arranged by severity:
1) First the bug: When a player is leaving pits
and at the same time updating his controls (I'm afraid I'm not sure how it is done), there is an incorrect Player ID reported in IS_NPL. Please see this example extract:
09.12.23 14:15:36 #2 JPeace left the pits (FBM)
09.12.23 14:15:36 #2 C15P39 [IS_NPL]
09.12.23 14:15:36 #2 JPeace updated controls
09.12.23 14:15:36 #2 C00P28 [IS_PFL]
09.12.23 14:15:38 #2 JPeace joined the spectators
09.12.23 14:15:38 #2 C00P28 [IS_PLL]
A driver is leaving pits here, his player ID in IS_NPL is reported as #39. At the same time he somehow updated his controls and IS_PFL reports his player ID as #28, and this is actually the correct PID, as seen from the last IS_PLL packet. The problem is that
IS_NPL is binding connection ID with incorrect player ID in this case, leading to all kinds of troubles. (To solve the trouble, Airio spectates the driver, announcing rare LFS bug as the reason, forcing another race join.)
2) Currently it is not possible to enforce having traction control turned on or off. It is only part of car data as seen in IS_NPL (player joining race). If someone turns on/off TC when already on track, it is not reported and the state cannot be checked.
TC bit should be in my view part of player data, such as e.g. auto gears are, with changes reported by IS_PFL. Doing TC on/off checks would then be possible.
3) Support somewhere at least a new
bit saying if car is damaged (or even a byte with some details of the damage nature - body, wheels, ...). It would then be possible to require drivers to have repairs turned on during pitstop, making them more careful about their cars.
4)
Messages to connections/players could really be longer, the current 64 bytes limit is too severe. When a nickname in the message is required, also some colors and language changes, suddenly there's only something like 20 to 30 bytes for info. Upgrading 64 bytes to 96 bytes would make life so much easier for me (and Airio translators), and also to other InSim developers, I think.
5) Include
avg. tyre and clutch temperature in OutGauge data, so that custom displays can be made. It would be also nice to have oil/engine temperature data actually with some values. Also some indication of engine damage would be most welcome, but I realize this is a more involved matter.
6) Allow
sending "hidden" info to InSim apps on clients. Clients can send hidden information to server (and InSim running there) using /i, I think there's currently no way to communicate the other way.
Thanks for reading, I hope to see some updates soon!